package top.chmin.project.cloud.common.entity.label.value.auto;

// field import auto
// #bind.field.id#

import top.chmin.project.cloud.common.entity.*;

/**
 * chmin
 * 2023-12-27 15:15:33
 * cloud-builder
 */
public class EntityLabelValueFPC extends PreCondition {

    public EntityLabelValueFPC() {
    }

    public EntityLabelValueFPC(EntityLabelValueFPC parent) {
        super(parent);
    }

    public EntityLabelValueFPC forDelete() {
        type = "DELETE";
        return this;
    }

    public EntityLabelValueFPC forCount() {
        type = "COUNT";
        return this;
    }

    public EntityLabelValueFPC forDistinct() {
        type = "DISTINCT";
        return this;
    }

    public EntityLabelValueFPC limit(int limit) {
        super.limit = limit;
        return this;
    }

    public EntityLabelValueFPC sub() {
        return new EntityLabelValueFPC(this);
    }

    public EntityLabelValueFPC complete(boolean and) {
        finish(and);
        return parent == null ? this : (EntityLabelValueFPC) parent;
    }

    public Condition toCondition() {
        return toCondition(EntityLabelValue.class, "bs_entity_label_value");
    }

    // field fpc auto
// #bind.field.id#
    public Id id() {
        return new Id();
    }

    // #bind.field.createBy#
    public CreateBy createBy() {
        return new CreateBy();
    }
// $bind.field.id$

    // #bind.field.updateBy#
    public UpdateBy updateBy() {
        return new UpdateBy();
    }

    // #bind.field.createTime#
    public CreateTime createTime() {
        return new CreateTime();
    }
// $bind.field.createBy$

    // #bind.field.updateTime#
    public UpdateTime updateTime() {
        return new UpdateTime();
    }

    // #bind.field.tableCode#
    public TableCode tableCode() {
        return new TableCode();
    }
// $bind.field.updateBy$

    // #bind.field.labelFieldCode#
    public LabelFieldCode labelFieldCode() {
        return new LabelFieldCode();
    }

    // #bind.field.valueFieldCode#
    public ValueFieldCode valueFieldCode() {
        return new ValueFieldCode();
    }
// $bind.field.createTime$

    // #bind.field.dataApiType#
    public DataApiType dataApiType() {
        return new DataApiType();
    }

    public class Id extends LongFPCField<EntityLabelValueFPC> {
        private Id() {
            super(EntityLabelValueFPC.this, "id");
        }
    }
// $bind.field.updateTime$

    public class CreateBy extends StringFPCField<EntityLabelValueFPC> {
        private CreateBy() {
            super(EntityLabelValueFPC.this, "create_by");
        }
    }

    public class UpdateBy extends StringFPCField<EntityLabelValueFPC> {
        private UpdateBy() {
            super(EntityLabelValueFPC.this, "update_by");
        }
    }
// $bind.field.tableCode$

    public class CreateTime extends LocalDateTimeFPCField<EntityLabelValueFPC> {
        private CreateTime() {
            super(EntityLabelValueFPC.this, "create_time");
        }
    }

    public class UpdateTime extends LocalDateTimeFPCField<EntityLabelValueFPC> {
        private UpdateTime() {
            super(EntityLabelValueFPC.this, "update_time");
        }
    }
// $bind.field.labelFieldCode$

    public class TableCode extends StringFPCField<EntityLabelValueFPC> {
        private TableCode() {
            super(EntityLabelValueFPC.this, "table_code");
        }
    }

    public class LabelFieldCode extends StringFPCField<EntityLabelValueFPC> {
        private LabelFieldCode() {
            super(EntityLabelValueFPC.this, "label_field_code");
        }
    }
// $bind.field.valueFieldCode$

    public class ValueFieldCode extends StringFPCField<EntityLabelValueFPC> {
        private ValueFieldCode() {
            super(EntityLabelValueFPC.this, "value_field_code");
        }
    }

    public class DataApiType extends StringFPCField<EntityLabelValueFPC> {
        private DataApiType() {
            super(EntityLabelValueFPC.this, "data_api_type");
        }
    }
// $bind.field.dataApiType$

}